import {get, post, put, upload} from '@/utils/request'
import {AxiosPromise, Option} from "@/types/common";


/**
 * 根据 ID 获取信息
 * @param id 实体ID
 */
export const useTemplateFileInfoApi = (id: number | string) => {
    return get('/generator/v1/templateFile/' + id)
}

/**
 * 新增或修改
 * @param dataForm 数据表单
 */
export const useTemplateFileSubmitApi = (dataForm: any) => {
    if (dataForm.id) {
        return upload('/generator/v1/templateFile', dataForm)
    } else {
        return upload('/generator/v1/templateFile', dataForm)
    }
}

/**
 * 根据 模板组 ID 获取模板文件列表
 * @param groupId 分组 ID
 */
export const useTemplateFileListByGroupId = async (groupId: number | string): AxiosPromise<Option[]> => {
    return get('/generator/v1/templateFile', {groupId: groupId})
}

/**
 * 根据 模板组 ID 获取模板文件列表
 * @param fileId 分组 ID
 */
export const useTemplateFileContentByFileId = async (fileId: number | string): AxiosPromise<string> => {
    return get('/generator/v1/templateFile/content', {fileId: fileId})
}
